#ifndef		__RESOURCE_H_INCLUDED__
#define		__RESOURCE_H_INCLUDED__

#include	<string>
#include	<map>

#define		GResource	Resource::Instance()

struct Asset {
	char *	pData;
	size_t	nSize;
	char	pType[64];
};

class Resource {
public:
	Resource() : _pZip(nullptr), _mAssets() {}
	virtual ~Resource();

	static Resource &	Instance();

	bool	Load();
	Asset *	Get(const std::string & sPath);

private:
	struct mz_zip_archive_tag *		_pZip;
	std::map<std::string, Asset>	_mAssets;
};

#endif//!	__RESOURCE_H_INCLUDED__
